//package cn.hp.task;
//import cn.hp.common.exception.*;
//
//import cn.hp.entity.LoginInfor;
//import cn.hp.entity.User;
//import cn.hp.service.ILoginInforService;
//import cn.hp.service.UserService;
//import cn.hp.util.DateUtil;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.scheduling.annotation.Async;
//import org.springframework.stereotype.Component;
//import org.springframework.util.StringUtils;
//import org.springframework.web.client.RestTemplate;
//import javax.annotation.Resource;
//@Component
//public class AsyncTask {
//    @Resource
//    private UserService userService;
//    @Resource
//    private ILoginInforService loginInforService;
//    private static final Logger logger =
//            LoggerFactory.getLogger(AsyncTask.class);
//    /**
//     * 保存登录信息 异步线程
//     * @param ip
//     * @param broswer
//     * @return
//     */
//    @Async("myTaskAsyncPool")
//    public void saveLoginInfor(String ip, String broswer, String email) {
//        User user = userService.login(email);//根据邮箱查询用户信息，自己实现一下就可以
//        if (!StringUtils.isEmpty(user)) {
//            LoginInfor loginInfor = new LoginInfor();
//            loginInfor.setUserId(user.getId() +
//                    "").setLoginIp(ip).setLoginBroswer(broswer);
//            LoginInfor userInfo =
//                    loginInforService.findByLoginIpAndLoginBroswerAndUserId(loginInfor);
//            try {
//                if (userInfo == null) {
//                    userInfo = new LoginInfor();
//                    userInfo.setLoginIp(ip);
//                    userInfo.setLoginBroswer(broswer);
//                    userInfo.setUserId(user.getId() + "");
//                    userInfo.setDescription(email);
//                    RestTemplate restTemplate = new RestTemplate();
////获取地理位置
//                    String url = Constants.URL.ADDRESS_URL;
//                    String resultAddress = restTemplate.getForObject(url,
//                            String.class);
//                    logger.info("登录获取地址，url={},返回={}", url, resultAddress);
//                    if (!StringUtils.isEmpty(resultAddress)) {
//                        resultAddress = resultAddress.replaceAll("[\r\n]", "");
//                        userInfo.setLoginAddress(resultAddress);
//                    }
//                    loginInforService.insertLoginInfor(userInfo);
//                } else {
//                    userInfo.setUserId(user.getId() + "");
//                    RestTemplate restTemplate = new RestTemplate();
////获取地理位置
//                    String url = Constants.URL.ADDRESS_URL;
//                    String resultAddress = restTemplate.getForObject(url,
//                            String.class);
//                    logger.info("登录获取地址，url={},返回={}", url, resultAddress);
//                    if (!StringUtils.isEmpty(resultAddress)) {
//                        resultAddress = resultAddress.replaceAll("[\r\n]", "");
//                        userInfo.setLoginAddress(resultAddress);
//                    }
//                    userInfo.setCreateDatetime(DateUtil.getCurrentDateToString());
//                    loginInforService.updateLoginInfor(userInfo);
//                }
//            } catch (Exception e) {
//                logger.error("userId={},保存登录记录失败！msg={}", user.getId(),
//                        e.getStackTrace());
//            }
//        }
//    }
//}